In a traditional three-tier architecture, many clients can connect to the same application server to access a database. The components, drivers and database link setup are only required to be installed on the computer where application server exists. This reduces the number of computers for information technology staff to install and maintain. However, the traditional model for a multi-tier application server connecting to a plurality of databases is one-to-one. For each backend database, there is a corresponding one or more application servers. Each application server can has a respective channel. This architecture consumes many hardware and software resources. When a client connects to one of the databases, the connection setup consumes a great deal of time. Further, the operation model for this architecture is a job queue. While the application server services one client's request, the other clients' jobs are queued until the active job is finished. If the active job takes a long time, the queued jobs are kept waiting, regardless of the job loading.
One attempt to solve this problem is a data pool model, in which, for each backend database, there is a corresponding single application server and a corresponding single channel having a respective job queue. This architecture still has disadvantages, because the executing job performance impacts the jobs waiting in the job queue.
An improved data pool manager is desired.